High-speed binary adder having simultaneous carry generation



March 24, 1959 A. WEINBERGER ET AL HIGH-SPEED BINARY ADDER HAVING SIMULTANEOUS CARRY GENERATION Filed sept. 1o, 195e L00? 4 PHASE( v NNN l1 Sheets-Sheet 1 wrang@ 502 ma y 4770MB M A65/vr March 24, 1959 A. wElNBi-:RGER ET AL 2,879,001

HIGH-SPEED BINARY ADDER HAVING SIMULTANEOUS CARRY GENERATION Filed Sept. 1Q, 1956 ll Sheels-Sheet 2 BY M M M March 24, 1959 A. WEINBERGER ET AL HIGH-SPEED BINARY ADDER HAVING SIMULTANEOUS CARRY GENERATION Filed-Sept. l0, 1956 OR- GTE 054 @HEI-|1- Brill-- ll Sheets-Sheet 5 CPJ (aow M456 5) PHASE AA GP5 J March 24, 1959 A. WEINBERGER ET AL 2,879,001

HIGH-SPEED BINARY ADDER HAVING SIMULTANEIOUSv CARR.r GENERATION Filed Sept. 10, 195 ll Sheets-Sheet 4 /gszf LOCK ,Uf/455 40G/ CMD (A) 400g/VD 2nd Q06( X 'nM/N6 CP2 ma? y /Mc Pz/s/ f M12 GENE/@NON do 60N. CM* Y 3m' CLOCK ,ID/446g i l L- 66 67 C C5 4026 402 I 0 l l 09 08 A, 4, A, 407. aoc/l 5 9 B7 36 3 gz PH/JL-f 405 58 68 57 S6 56 54 65 SZ Sl 50M 50M REG/,Sme

9-5/7 P/J/QALAEL B//v/WV ,4005

INVENTORS 7mo/d M1000/y0# fo/m L. 5271070 11 sheets-sheet 5 'March 24, 1959 A. wElNBr-:RG'l-:R ET AL HIGH-SPEED BINARY ADDER HAVING SMUL'l-ANEOUS CARRY GENERATION Filed sept. 1o, 195e @SMM ww SSQ bm WWW QUHQQQQQ.

j? mi ATTORNEY A65/v7 I and r @fr @S 2 :b SQ

March'24, 1959 A. WEINBERGER E11' AL 2,879,001

HIGH-SPEED BINARY ADDRR HAVING sINULTANEoU CARRar GENERATION Filed sept. 1o, 1956V 1i sheets-sheet e March 24, 1959 A. WEINBERGER ETAL 2,879,001

HIGH-SPEED BINARY ADDER HAVING SIMULTANEOUS CARRY GENERATION Filed Sept. 10, 1955 llvSheets-Sheet 7 S555.56555$55555555S5555S5555 March 24, 1959 A. WEINBERGER ET AL 2,879,001

'HIGH-SPEED BINARY ADDER HAVING SIMULTANEOUSCARRY GENEATION Filed Sept. 10, 1956 11 Sheets-Sheet 8 AGENT 'INVENTORSl March 24, 1959 A. WEI'NBERGER ET AL 2,879,001

HIGH-SPEED BINARYADDER HAVING SIMULfIANEOUS CARRY GENERATION Filed Sept. 10, 1956 ll Sheets-Sheet 9 umu?. nanonoumon an March 24, 1959v A. WEINBERGER ETAL 2,879,001 HIGH-SPEED BINARY ADDER HAVING sIMULTANEoUs CARRY GENERATION Filed sept. 1o. v1951s 11 sheets-sheep 10 C1 D1 Rico MELE E TYP/4L C14/PPV FUA//O/ C s D C 2 2 Raul H2B; F0@ A S5-5U ,9m/my C3 l D3 R3D2 R3R2D1 RBReRlCo ck -1111 11,1113 111-1113112 111113112111(A1+c0)(1s1+c0) Ik www fw f6-9 111.11 (1111111 1111+111) March 24, 1959 A, WEINBERGER :TAL 2,879,001

HIGH-SPEED B1NARY ADDER HAVING SINULTANEOUS CARRY GENERATION FiledSepb. 10, 1956 1l Sheets-Sheet l1 HIGH-SPEED BINARY ADDER HAVING SIMUL'I'ANEOUS CARRY GENERATION Arnold Weinberger, Washington, D.C., and John L. Smith, Wheaton, Md., assignors to the United States of America as represented by the Secretary of Commerce v Application September 10, 1956, Serial No. 609,048. I 14 Claims. (Cl. 23S-.164)4 ThisA invention relates to improvements in, arithmetic units of the type employed in high-speed digital ,com-` puters and particularly relates to a novel carry vmechanism which enables a digital computer to perform an arithmetic operation such as addition at a speed which is not limited by the necessity of picking up carries In known digital-type computers, the speed at which an arithmetic operation such as addition can be performed is limited not so much by the speed of operation of the half-adder or adder units employed but more by the necessity of sampling the existence of-a carry quantity in any lower'order addition in order to determine the total in the subsequent higher orders. Manifestly, a

`summing operation in any higher order cannot be effected until'it is known whether a carry quantity has been generated as a result of an addition in any of the lower orders.`

It is accordingly an immediate object of this invention to provide in an arithmetic unit, a summation system which permits the simultaneous formation of large groups of carry digits consequent to an adding operation.

Itis a further object to this invention to provide a highspeed adder in connection with a digital computer which will produce the sum of multidigit binary numbers within the time limits defined by the cycle period of operation of the computer.

The invention further contemplates an adder mechanism in which a plurality of carry functions can be simultaneously determined independently of each other.

A still further object of this invention is to provide a vhigh-speed adder in which all logical operations can be ,l implemented by standardized gate complexes having a Aiixed, maximum number of gating circuits.

An additional object of this invention is to provide an .adder mechanism in which the number of carry digits which can be simultaneously formed is limited only by ,the number of and-gates employed for logically comv-bining the carry functions.

Other uses and advantages of the invention will become apparent upon reference to the specification and drawings in which:

Fig. 1 is a circuit diagram 'of a sandard SEAC type or-and-or-gate complex employed as a logical component in the present invention;

Fig. 2 is a chart indicating the circuit construction of the various circuit components employed in the invention ;toge ther lwithdiagrammatic symbols representing the.

various components; l

Fig.A 3A is a schematic diagram illustrating the manner 'in which the circuit components are logically arranged to determine a carry function in accordance with the present invention; i V

Fig. 3B isa schematic diagram similar to Fig. 3A illustrating the logical arrangement of circuit elements to determine a carry function involving operands and pre- 4 vious order carries occurring. during different' time periods t, within a cycle;

Fig. 4` is a schematic `bloeitdiagttun ,showing an adder l ,carry digits'and threeauxiliary carry functions;

2 t mechanism constructed in accordance with the principles of this invention for determining two groups of carry digits during different time periods;

Fig. 5 is a schematic diagram illustrating the manner in which the circuit components according to this invention are logically arranged to determine an eighth-order carry digit;

Fig. 6 is a schematic diagram showing an adder mechanism constructed in accordance with the principles of -this invention for determining two groups of carry digits during different time periods and means for concurrently determining an auxiliary carry function during one of said periods;

r Fig.. 7 is a schematic diagram similar to 'Fig'.A 6 showing an adder mechanism constructed in accordance withthe invention providing for the determination of- 20-order Figs. 8A and 8B whichtaken together form'a'singl diagram, is a schematic diagram similar to Figs. 6 and 7 but showing the adder mechanism according to thisinvention adapted for summing two 53-digit binary numbers and showing the mechanism employedfor obtaining both rst-and-secondlevel auxiliary carry functions;

Figs. 9 and 10 are logical circuit diagrams illustrating Atypical summation mechanism employed in the present invention; and

Figs. 11A, 11B, and 11C contain Tables I andII, respectively listing various carry functions employed in connection with this invention.

In accordance with the principles of this invention-,.--the logical equations representing the carry digits consequent to a binary addition, by factorization, are modified into a mathematical form on which a gating complex can be based, and are embodied as a parallel adder which 4is capable of adding for example two 53binarydigit numbers within a one mergacycle clock-cycle period characterizing a particular type of digital computer.

The features characterizing the present invention can best be understood by considering briey certain practical limitations occasioned by engineering design considerations necessary in the fabrication of a large-scale digital computer. A typical example ofthe over-al1 computer with which the present invention is particularly concerned is the National Bureau of Standards SEAC (Standards Eastern Automatic Computer) or improved DYSEAC (Second Standards Eastern Automatic Computer).l A general description of the SEAC is contained in an article by Greenwald, Haeuter and Alexander in ProcflRE, vol. 4l, pp. i300-1313, October 1953 while the DYSEAC is described in an article by Leiner and Alexander published in Trans. IRE-PGEC, vol. ECS, No. 2, June 1954. It is therefore considered unnecessary to describe in any great detail the construction of these machines and only-suicient background information as is necessary to emphasize the purpose and operation of the present invention will therefore be alluded to in the present description.

Briefly, in machines such as the DYSEAC use is made of packaged components having circuitry of predetermined design. The design4 of each component is such 'as optionallyv integrate different ones of the subcomponents into various desired combinations and contgurationsjas fully described in copending application Serial No. 375,846 of August 21, 1953, by Richard P. Witt and assigned to the assignee of the present invention.`

As described in such application and also in an' article entitled Dynamic Circuit Techniques Used in SEAC and DYSEAC by Elbourn and Witt, Proc. IRE, vol. 41, No. 10, October 1953, pages 1380-1387 a gating 'complex component package may consist of a predetermined number of and-gates each having a predetermined number of inputs. The package also includes a sufficient number of or-gates to provide for combining inputs to the and-gates, and a repeater or amplifier tube. A circuit diagram derailing a typical such gating computer is shown in Fig. l. Five and-gates are optionally provided as indicated. It will be understood that each input to the and-gates may be in the form of an or-gate as is conventional. In order to illustrate the logical operations involved as the description proceeds, conventional symbolization will be employed to designate the various components of each gate complex. Specifically, Fig. 2 is a chart showing the ysymbols for the corresponding circuit components employed in each gate complex in the present invention. Figs. 2A-2B represent an andgate, Figs. 2C-2D show an and-inhibit-gate, Figs. 2E-2F are for an or-gate. Figs. 4ZCI-ZH explain a repeater stage and Figs. 2I-2I demon- 'strate a delay line.

The present invention particularly contemplates a carry mechanism designed to function'within the limitations Aestablished by and consequent to the employment of the yreferred-to packaged component type of circuitry. It will be demonstrated, as the description proceeds, that all the mathematical relationships defining the addition of the two multidigit binary numbers can be expressed in a form tailored to tit a mechanism in which each adder component need include no more than four and-gates each having a maximum of six inputs (as represented by corresponding or-gates). That is, an analysis of the functional representation of the carry digits in an addition process will show that the one-megacycle circuitry of a computer such as the SEAC or DYSEAC can be organized logically to permit the simultaneous formation of many successive carries.

The Boolean algebraic expression for any carry digit Ck can be expanded so as to be an explicit function of only the input digits (Ak, Bk) of any order (k) and of the carry digit from the next lower order Ck 1. It will be shown that as a result of certain factorizations, these expressions can be simplified so that all of them fall within the gating-complexity limitations imposed by the circuitry of the computer with which the invention is employed. Such 'principles are then implemented as a parallel adder capable of adding, by way of example, two 53-bit numbers in a one-microsecond interval, employing relatively few additional components as compared to a parallel adder of more conventional design.

As described in the above-identified article by Elbourn and Witt, the clock or timing pulse which determines the over-all timing of the computer is applied as an input to one or more of the and-gates and the rate at which successive pulses pass through a component stage is therel'fore determined by the clock frequency which, by Way of lexample, may be one megacycle per second. Since the actual'transit time of a pulse through a stage is considerably less than one microsecond, for increasing the flexibilty of operation, the clock pulses are made available .in several phases (time periods within the one-microsecond period)- and different stages may be controlled by clock "pulses of different phases. In the DYSEAC, for example,

4four-phase clock pulses are used, while in the adder of lthe present invention a five-phase clock is employed.

The principles of arithmetic addition based on Boolean algebraic representations are fully explained on pages v26-50 and 81-135 of Arithmetic Operations in Digital -Computers by R. K. Richards, published by D. Van

Nostrand. In accordance with such principles, it can be shown that the sum Sk of an augend Ak and addend Bk Vwhere Sk is the sum and Ck 1 is the carry from the next By factoring in accordance with the rules of Boolean valgebra it can be shown that As the above operations indicate, the functional expression for the carry Ck in any order can be reduced from four terms of three factors each (which would require four and-gates each having three inputs) as shown by Equation 2a to three alternative forms each involving fewer terms and factors (Equations 2b-2d).

Equation l above, for the sum Sk indicates that only four and-gates are necessary for such operation and the previously noted design limitations accordingly permit implementing of such operations in one gating stage. Therefore, any sum digit can be made available during the clock phase which immediately follows the formation of its corresponding carry, Ck 1. Equations 2a-2d however, indicate that the carry Ck formulated during an addition in any order is dependent in part on the carry C 1 generated by an addition in the next lower order. That is, if the carries are generated in accordance with Equations Ztl-2d, the carry digit for any order could not be determined until the formation of the next lower order carry Ck 1. Because of such relationship, the carry digits Ck can be obtained at the rate of one per clock phase, and the generation of a number of sumdigits S1, S2, S3, etc. corresponding to the various orders in a number would require a like number of clock phases. For numbers having n-binary digits, there would be n-l possible carries, requiring n-l clock phases for their complete determination.

The limitations apparently imposed on the generation of carries by the sequential method are overcome in accordaace with the principles of the present invention. Such limitations are apparent from Equations 2a2d which specify the carry, Ck, as an explicit function of the previous order carry Ck 1. It will be demonstrated that Ck need not depend explicitly on Ck 1, but can be expressed as a function of C0 (neglecting for purposes of discussion the augends and addends pertinent to the order under consideration).

C0 is defined as equivalent to a carry which, together with the least significant augend and addend digits A1B1, formsk the least significant sum digit S1. Thus:

C0 in other wordsv is analogous to a "1 added to the least significant position of a word and is used in 2s complementing in which all bits are inverted and a 1 is added to the least significant digit. Such carry function C0 is employed during addition cycles requiring the adding of a l to the sum, such as theadding of negative numbers in complementary form. That the carry'Ck in any order need not depend explicitly on the preceding order carry can be demonstrated as follows.

From a consideration of Equation 2d which can be in the form:

Ck=f11c3k +(Ak-l-B1)Ck-i it may be stated that the carry digit' Ck in any order (k) is a function of Ck 1, the carry digit of the preceding order. Similarly by analogy, the carry digit for any preceding order, for example Ck 1 is a function of C 2. Therefore Ck in turn can readily be expressed as a function of Ck2. In this manner it will be apparent that Ck can be further expanded until it is a function of Ck 3, then Ck 4, etc. The limit to such expansion is determined only by the permissible gating complexity of the circuit employed as above mentioned.

Equation 2d inV other words can readily be expanded so that the carry digit Ck in any order will be independent of aA number ofA previous ordercarries.

where k2 corresponds to the least significant order. It will be noted that Ck is a function of C, 2 andis independent of Ck 1.

For a still higher order the carry Ck becomes:

Ck=AkBk 'l- (Ak+Bk)Ak-1B1c1 -i- (Ari-Bk) (Ak-r-l-Bk-Alc-zBk-a -l-(Ak-I-Bk)(Ak-l-i-Bk-(A12+B12)Cks where k-3 corresponds to the least significant order and so on. It will be noted that Ck becomes a function of Ck3 and is independent of both Ck 1 and Ck 2.

The above exemplary expansions clearly indicate that aside from the particular augends and addends, the carry digit Ck in any order need depend only upon a single previous carry function such as either Ck 1, C14, or Ck 3 etc., depending on the particular order concerned, and is independent of the intermediate carry functions.

The above analysis can be used to determine the number of successive carries that can be generated simultaneously.

Fig. 3A shows a typical gating stage representing the referred-to packaged circuit component characterizing DYSEAC construction, together with the Boolean algebraic notation for the various inputs and outputs representing Equation 2d for the general case of a carry in any order. That is,

, tion of the augend (Ak) and the addend (Bk) (whenever both are 1s) plus the carry from the preceding k-l stage (Ck 1) depending on whether Ak or Bk s a 1. Since the or-gates in Fig. 3A provide a summation and the and-gates a logical product of the applied inputs, the output obtained from or-gate will correspond to Equation 2d as will be obvious by following through the logical circuitry illustrated in Fig. 3A.

The generalized condition stated by Equations 2d-2f can be applied to each order of a multidigit number to define the carry digit generated in each order as'follows. For the first order, the carry C1 is expressed by C1=A1B1 +(A1-l-B0Co (3) where A1 is the augend and B1 the addend of the firstorder digits and C0 represents the previouslydened carry. Manifestly, two and-gates are required to implement Equation 3 namely, to obtain the logical product A1B1 and the logical product (A1-l-B1)C0, respecwhere A, and B1 represent the augend and addend of the second order of a number and C1 the carry from the preceding order.

Since C1 hasbeen .dened inl-Equation 3 above as a d function of A1, B1, and C0 then by substitution, C1 can be expressed independently of the preceding order carry C1 as a function of C0.

C2=2Ba +(Aa|B2)A1B1 +(alBa)(A1-l31)0o In this case 3 and-gates are required to handle the product expressed in each line of the equation.

For the third order, the carry C3 can be similarly expressed independently of the preceding order carries C1 and Ck as a function of C0 as follows:

In the above and subsequent development, the parenthetically indicated quantities are identical with the expression immediately above them. Similarly, for the fourth order.

- 5 and-gates which would exceed the capacity of the optionally chosen packaged type of circuitry of Fig. l. However, the last two terms can be combined into one term by employing the following transformation:

A1B1+(A1+B1)CO=(A1+B1)(1+CO)(B1+C0) and equation 6b can be written as:

C4==A4Bl (6c) 'HAH-B4) (A3191) )(Ari-Bs) (A139) l( )(Az+B2)(A1+B1)(A1+Co)(Bil-Co) Since only 4 logical multiplications are involved in such form of the equation for C4, only 4 and-gates are required and the referred-to packaged circuit component (Fig. l) can be used.

In this manner, considering each order in turn, the logical operation as above represented indicate that the carry function in each order can be implemented by a maximum of 4 and-gates.

lt will be understood that the limitation imposed by the number of gates employed is dictated by design considerations involved in the computer and is not occasioned by structural features inherent in the present invention. Capacitive and other eifects consequent to the use of diodes in the gating circuits limit the number of gates in each component to a degree necessary to preserve the Wave form of the signals and the necessity of reducing the equa tions to equivalent forms involving no more than 4 logical product functions should not be interpreted as a limiting feature of the invention.

The described maximum number of (4) and-gates employed to implement the carry mechanism is one less than the 5 and-gates available in the gate complex component described in connection with Fig. 1. The fifth gate is reserved for regeneration of the output pulses in order to standardize their wave forms and their timing by means of clock pulses as will be readily understood by those skilled in the art.

It will be observed from Equations 3, 4b, 5b, and 6c that all carry functions up to the fourth order can be expressed as a .function of C0 without regard to the intermediate C1, C1, C3 order carries and that a maximum of 4 and-gates will enable the determination of the carry function in any of those orders. It will be clear then that a considerable gain in speed can thereby be obtained by expanding Ck until the maximum permissible gating complexity within the limits determined by the components used is reached. In this manner it can be shown that as many as four successive carries can be simultaneously formed in one clock phase while only one gating complex or stage per carry is required.

The simultaneous system of carry generation characterizing the present invention will be explained in the ensuing portion of the specification by considering in sequence a lower-order form of the mechanism (Fig. 4), then a higher order such as is represented in Fig. 6, a still higher form of carry generation as exemplied in Fig. 7 and finally a system employing two levels of auxiliary carry functions capable of handling 53digit binary numbers as detailed in Figs. 8A-8B.

Some of the basic principles for implementing the above-described operations for carry determination Will become apparent by considering first the summing apparatus schematically shown in block diagram form in Fig. 4. Fig. 4 shows the logical circuit arrangement for the 9 least signicant digits of a parallel adder mechanism in accordance with the present invention. For the present, only the first 4 orders of operands A1, A3, A3, A4 will be discussed. The augends and addends of the first orders are represented by A and B respectively with subscripts corresponding to the respective orders. The augends and addends are made available in parallel from a suitable source in the computer such as the stor- `age register 400 indicated in Fig. 4. Such mechanism is conventional in connection with high-speed computers and may consist of a number of stages of bistable elements yin which the state or condition of conduction in each stage represents a binary digit. When initiated by a clock pulse of a first-clock phase, the augends A1 and the addends B1 are manifested on output leads 401. Only one lead is indicated for each stage of the register for purposes of clarity. It will be understood that each such lead represents a plurality of conductors, one for each operand. The carries C1-C4 generated in each order consequent to the summation are considered during the second clock phase as indicated in Fig. 4.

The timing pulses for determining the sequence of carry generation are obtained from a timing pulse generator 404 driven by a clock pulse generator 405 both components forming part of the computer mechanism as described in the above-identified article by Greenwald et al. Timing pulses of different phase CP1, CP2, CP3, CP4, and GP5 are obtained as outputs from timing pulse generator 404 during each one-megacycle clock cycle defined by the clock pulse generator 405, and are applied as indicated. The fifth clock-phase timing pulse GP5 is employed with the higher order carries system to be described and need not be considered in connection with the description of Fig. 4. At this point in the description the conventional manner in which synchronization of the signals which occur during each clock phase is achieved will be briefly described.

Fig. 3B shows the same logical circuit shown in Fig. 3A for solving an equation of the type -l- (Alvi-Bk) Cla-1 rthe operands are made available during a first-.clock phase (CB1), the 'carry functions C5, C4, C7, C5 'aregenerated during a third-clock phase (CP3), while the sum digits S1 etc. are formulated during a fourth clock phase CP4. It will be apparent therefore that under such system, synchronization of signals must be provided for.

Fig. 3B generally illustrates the means employed in the present invention for achieving synchronization of signals. The circuit shown n Fig. 3B is for the solution of an equation of the type described in connection with Fig. 3A but for a situation in which:

(a) The carry function Ck is generated in a third-clock phase (designated by Ck3);

(b) The operands A and B are made available during a first-clock phase and are designated as Akl, Bkl;

(c) The previous order carry Ck 1 is generated in an intermediate or second clock phase and is designated as Cle-12- Thus in which the superscripts designate the particular clock phase corresponding to the digit under consideration. Under the system of nomenclature employed in the present case, a carry signal Ck is designated with a superscript corresponding to the clock-pulse phase associated with the stage generating the carry signal Ck. Thus the carry signal Ck 12 is generated in a stage energized by a clock pulse of a second phase.

The gating complex shown in Fig. 3B accomplishes the combining of terms in the same manner described in connection with Fig. 3A except that the three delay elements indicated in Fig. 3B compensate for the time period between the various clock phases. That is, since the operands Akl and Bk1 occur during a first-clock phase and the clock pulse applied to the upper and-gate occurs during a third-clock phase, assuming a five-phase, oncmegacycle clock pulse, then a delay unit must be provided for both the Akl and Bkl signals each having a as delay. Similarly the (Akl-i-Bkl) input to the lower and-gate must have a 3/5 its delay to synchronize with CPg.

Again referring to Fig. 4, the carries, C1, C2, C3 are generated in each of the first four orders by combining the operands of each order during the second clock phase CP2 as indicated. Each of the C1, C2, C3, C4 carry mechanisms designated by 4021-4024 are gate complexes having the same logical arrangement generally indicated in Figs. 3A and 3B and comprising the specific circuitry described in connection with Figs. 1 and 2. Since Figs. 3A and 3B and the related descriptions clearly show the manner of arranging the gating circuits to obtain the solution of the generalized expressions for Ck (i. e. Equations 2d, 2e, and 2f), the manner of selecting and arranging the gating components for obtaining a solution of Equations 3, 4b, 5b and 6b which define the respective carry digits C1, C2, C3, and C4 will be readily apparent without detailing the construction of each carry mechanism.

In order to enable the invention to be understood, a typical example of the carry gate complex employed for the solution of a more complex carry such as C8 is illustrated in Fig. 5 and will be further described following the development of the equations for the next four-order Carries C5, C5., C7, C8.

A typical stage for obtaining the sum digit such as S1 etc., is illustrated in Fig. 9 and will be specifically described in a subsequent portion of the specification.

During the fourth-clock phase, the augends land addends of each order together with the carries C1, C2,'C3, C4 generated during the second-clock phase are summed to provide the sums S1, S2, S3, S4, S5 which are manifested in the register 403 of conventional type. It will be noted that the least significant sum digit, S1 could actually be obtained during the second-clock phase according to Equation 3 because it is a function of A1, B1, and C0, all three of which are available during the first-clock phase. However, it is desirable in the parallel adder according to the present invention to obtain all of the sum digits (S) at the same time. Consequently, S1 yis deliberately delayed to occur at the same clock phase as the other sum digits.

It will be apparent from the description so far presented, that while the carry digit, Ck, for any order cannot be made independent of all of the preceding carries, it can be made independent of a considerable number of them, the number being determined by the maximum complexity of the gating stages employed. Using the or-and-or gating configuration of a standard DYSEAC package as described, with a maximum of 4 and-gates (in addition to the and-gate provided for regeneration) per stage and a maximum of 6 inputs for the largest andgate, implementation of the expansion of'Ck can be achieved because the equation expressing Ck as a function of a group of augends, addends and a previous carry can be reduced to 4 terms corresponding to 4 and-gates with no more than 6 factors in any term. Such expedient can be employed in the summation of binary numbers involving more than 4 carries in the manner now to be described. It will then be demonstrated that if C is available during the first clock phase, C1, C7, C9, C4 can be made available during a second-clock phase, and a second group of 4 carries, C5, C5, C7, C5, can be made available during a third-clock phase. By a similar process it will be shown that within the time limits of a five-phase clock cycle, carry digits corresponding to a 53-order binary number can be elicaciously handled without exceeding the capacity of the particular standardized gating complexes employed. As has been above noted, each group of sum digits (S) can be obtained one-clock phase after the appropriate group of carries has been-formed.

The following description will make such operation ap I parent.

Writing the carry functions for the fifth, sixth, seventh, and eighth orders and using the transformation explained in connection with Equations 36:

in which C5 is expressed as a function of C4 and is independent of C5.

in which C7 is also a function of C4 and is independent Of both C5 and C3.

in which C5 is a function of C., and independent of the intermediate carries C5, C5, C7.

By combining the first two expressions of Equation l0 as described there is obtained the form 10 form shown by Equation l0 involving 5 and-gates to the form of Equation l0ain which only 4 and-gates are required consistent with `the basic gate complex circuit components employed.

The formation of the carries consequent to a nine-order number is shown in the previously referred-to block diagram of Fig. 4. As previously described, the first 4 carries consequent to the summing of orders 1, 2, 3, 4 are generated during a second-clock phase. The thirdclock phase is used to generate the carries C5, C5, C7, C5 corresponding to Equations 7, 8, 9, and 10a, consequent to the summation of the operands for the fifth, sixth, seventh, and eighth orders of the number and the final nine-order sum is obtained during the fourth-clock phase.

The carry mechanisms 4025, 4025, 4027, 4025 symbolically represented in Fig. 4, like the previously referred-to carry mechanisms 4021, 4022, 4023, 4024, are each 'in the form of gating complexes arranged in a manner similar to Figs. 3A and 3B to obtain the solution of Equations 7, 8, 9, and 10a, respectively defining the carries' C5, C5, C7, and Cg- I As previously stated, Fig. 5 is a symbolic representation of a gating complex of the standardized type employed in the SEAC and DYSEAC computer and further illustrates the logical sequences employed in obtaining an output function representing the carry digit C5. Fig. 5 has been specifically arranged to indicate the implementation of a solution for Equation 10a defining the carry C8. The operands of the various orders are indicated by A and B, the subscript indicating theorder to which each augend A and addend B is pertinent. The input leads to each of the or-gates 501 correspond to the leads 401 shown in Fig. 4. Each or-gate 501 in Fig. 5 produces an output equal to the logical sum of the input factors applied thereto. In this manner, factors such as (Ari-B5), (A7-l-B7), (AH-B5) etc. are obtained and applied as inputs to various and-gates as is clearly apparent from Fig. 3.

Each and-gate 502 in Fig. 5 combines the inputs applied thereto to produce the logical product functions indicated in Equation 10a such as The final or-gate 503 shown in Fig. 5 forms the logical sum of all such products to complete Equation 10a as indicated.

There is further illustrated in Fig. 5 the timing, or sequence of generation of the various factors involved in the determination of C5. The operands A5, A5, A7, A5, and B5, B5, B7, B5 as is clear from Fig. 4 are made available during clock phase 1. The lower order carry C4, necessary for determining C5, is generated during clock phase 2 (CP2) in accordance with the sequence indicated in Fig. 4. Fig. 4 also indicates that the carry digit C5 is generated during clock phase 3 and such condition is indicated in Fig. 5 by the application of the clock pulses GP5 to each of the and-gates 502. Since the time difference between CP1 and GP5 for a five-phase, one-mc. clock pulse is 2/s its, delay members 504 providing a :corresponding l/s ,us delay time are inserted between the operand inputs and the and-gates 502. Since the carry digit C., occurs during clock pulse two, no delay is necessary in that case.

Fig. 5 shows the logical circuitry in schematic form for obtaining a higher order carry such as C5 which, as has been explained, can be made a function of only one lower order carry such as C4 in accordance with Equation 10a independent of the intermediate order carries. It will be understood that the same logical circuitry will be employed for obtaining C5 (which is a function of C5) zero and the various higher order carries C35 etc., the number of orand and-gates employed being consonant with the number of terms in the particular equation defining the desired carry digit Ck.

In order to extend the above exemplified principles to a relatively large order binary number, the number'` 11 of carries obtained during one clock phase must be i11- creased without increasing the gating complexity. This is accomplished in accordance with the principles of the present invention at the expense of one clock phase and by the use of some added gating stages.

Fig. 6 is a schematic representation similar to Fig. 4, showing the carry system according to this invention extended to the thirteenth-order digit. Corresponding parts in Figs. 4 and 6, as well as Figs. 7 and 8 to be described are identified withl like reference numerals. Fig. 6 illustrates how the clock phase availability between the input digits and the C through C9 carries can be utilized to form certain auxiliary carry functions to be described which enable the generation of additional carries during a third-clock phase simultaneously with C1, through C9. Specifically, C9, C19 etc., can be formed during the third clock phase as functions of C4 if some of the terms in the expanded relations for C9, C19 ete., are combined as auxiliary carry functions in separate stages during the intervening (second) clock phase.

Writing the equation for the carry C9 corresponding to the ninth order as a function of C4 there is obtained:

C AeB (Ari-BQABHS MAH-B1) AeBs )(Ae-i-Bs) AsBs Equation 1l indicates a need for six and-gates whereas the discussed design considerations demands a four andgate construction as previously stated. At this point it will be convenient to imagine a triangular outline delineating the rst five lines of Eq. 11 and a rectangle delineating the last line, up to, but not including C4. The purposes of such triangle-rectangle analogy is to simplify representations of and visualization of the higher order carries as the description proceeds.

Let X9 represent the terms contained in the triangular portion of Eq. 11 and let Y9 represent the expressions within the rectangular portion. Equation 11 can then obviously be written in simplified form as The five terms in the triangular portions of the equation can readily be reduced to four terms by combining the first two in the manner already explained; that is, the first two lines in Eq. 11 can be developed into the form:

(Ari-B9) (A9-FAB) (Art-Bs) (B9-F148) (Bri-Ba) Such reduced four-term expression can then be implemented in one gating stage during a second-clock phase as will be apparent by observing the blank areas adjacent the second-clock phase portion of the Fig. 6 diagram. Moreover, the single factor enclosed within the imaginary rectangle and designated Y9 can be implemented in one gating stage. X9 and Y9 in other words designate what can be termed auxiliary carry functions and by means of such auxiliary carry functions, C9 can be formed quite easily in one gating stage during the third clock phase. Physically both X9 and Y9 are in fact the varous terms in Eq. l1 and can readily be obtained by employing gate complexes 601, 602 of the described type. Specifically the gate complex 601 for determining X9 will receive the operands A5, A9, A7, A9, A9 and B5, B9, B7, B9, B9 to produce an output corresponding to the triangular portion of Eq. 1.1 as modified for imple- 12 mentation by a four and-gate circuit. Similarly, the gate complexY9 which obviously need include only one andgate having tive inputs will provide an output corresponding to the rectangular portion of Eq. 1l. Such output is applied through 603 to gate complex 4029 to which the previously determined carry function C4 is also applied as shown in Fig. 6. The gating complex 4029 need therefore comprise only two and-gates and an or-gate to produce an output corresponding to C9 in Eq. 11.

In a similar manner it can be shown that the carries C19 through C13 can be formed during a third clock phase of the clock timing pulse by utilizing auxiliary carry function in the manner above explained. Considering the most complex case for the arrangement of Fig. 6 which is the C13 carry:

-l-(Aii-t-Bis) (Atri-Bia) (An-I-Bn) (A1o+B1o)Y9C'4 That is, C19 is in this manner expressed as a function of the C4 carry and as a function of the auxiliary carries X9,Y9.

Combining the rst two and last two lines in the described manner, there is obtained It will be apparent from Fig. 6 that the referred-to auxiliary carry functions X9, Y9 are made available together with the C1, C2, C9, C4 carries during the second clock phase so that C13 can readily be determined during the third clock phase. Thus by using one pair of auxiliary carry functions it is easily posssible in accordance with the present invention to sum a fourteen-order binary number within the time limits defined by the one-,us clock pulse interval of the computer.

It will now be demonstrated how, by employing still further auxiliary (X and Y) carry functions a twenty-one order addition can be achieved.

Specifically, writing the carry function for the fourteenth order:

It will be noted that C14 has been expressed as a function of the previously explained auxiliary carry functions X9, Y9 and of a lower order carry C4. The triangular and rectangular portions of Eq. 13a can in turn be represented by a second auxiliary carry function X14 and Y14 respectively and Eq. 13a can therefore be written in simplified form as Equation 13bindicates'that the mechanism for obtaining a higher order carry function such Y as C10 c an readily be implemented on the basis of employing two pairs of auxiliary carry functions.l By analogy it can be shown that similar conditions obtain for C25, C20 and C17. Fig. 7 symbolically indicates the formation of both the X0, Y and X12, YM auxiliary carry functions during the second clock phase. By developing Vthe carry functions C18, C12, and C20 in `a'manner analogous to Eqs. 13a and 13b, it will be apparent that a third pair of auxiliary carry functions X10, Y will be involved by means of which each of the higher order carries up to C20 can be expressed as a function of such auxiliary carry functions and of C2 as shown in lFig. 7.

In this manner, by creating auxiliary carries which represent a large number of low-order carries it is possible to achieve simultaneous carry generation of higher-order carries.

The parallel adder may be extendedaccording to the principles of this invention to accommodate 53 or more binary digits. For 53 digits, only one additionalclock phase is necessary. During the fourth clock phase, the carries C21 through C52 can all be generated as' functions 0f C20 lust 15 C15, Cie, C11, Cta` C19, C20 Were CX' pressed as functions of C4 as above explained. The entire parallel array of sum digits, S2-S52 can then be formed during the (additionally provided) fifth clock phase of the computer clock pulse.

The ability to generate all of the carry digits C21 through C52 during the fourth clock phase of the clock pulse is based upon the fact that two clock phases are available between the time of formation of these carries and the period of application of the input digits. That is, considering Figs. 8A, 8B for the moment, which shows a 53-digit carry system according to this invention, it will be noted that the formation of the individual carries C22-C52 during the fourth clock phase occurs two clock phases from the time of application of the operands A and B. This permits the formation of two levels of auxiliary carry functions. The second level auxiliary carry function will be designated as Z and W, respectively to distinguish them from the first level X and Y auxiliary carry functions already described.

As in the case of the preceding carries, C2, through C32 are generated as functions of the appropriate augend and addend digits, some of the first-level auxiliary carry function and the carry digit C20. Considering the most complex carry C22, for example:

C22 in other words is expressed as a function of some of the first-level auxiliary carry functions Xzsi Y2, X25, Y25 and the carry digit` C20. ,In order to express Eq. 14a in a form acceptable to the number `of. components in the gating complex employed, the first two and the fourth and fifth lines are combined inthe manner previously described to produce the form:

an expression which requires Aonly four andfgates for implementation.

14 Similarly, the next' higher order"carry"C,'2` requires a third pair of carry functions X23 and Y2, as is apparent from Eq. 15a following:

Representing the triangular and-'rectangular porti'onlof;A 15a by the auxiliary function X33, Y2, there follows:

YazYnYs Cro which can be rewritten as C33=Zaa -l-Wssczo I where Z22 and W23 represent the triangular and rectangu lar portions of Eq. 15b respectively. f C32 may similarly be written as a function of the second level auxiliary carry Zas, W23 and C20 as follows:

Equation 16a is then reduced to a form requiringfour and-gates:

In the case of C32 still another second-level auxiliary carry function Z20,W22 is developed as follows:

Substittingthe" first-level auxiliary carry; function X30, Y for the triangular and rectangular portions of Eq. l1athere ,follows:

YssXax YssYuXzs YssYaaYzeXas YsxYssYavXti C 20 For a S31-digit number it is necessary to introduce only two additional auxiliary carry functions and the last occurs in the forty-eighth order. For this order:

Making use of the auxiliary carry function Z48,W48 for the triangular and rectangular portions of Eq. 18a there follows:

C4s=z4a 18]?) +W4acao That is, the carry digit C48 is a function of the auxiliary carry function Z40,W48 and one lower order carry C20.

The block diagram of Figs. 8A, 8B schematically illustrates the relationship among the various carries, and the rst and second-level auxiliary carry functions. Each box in the diagram of Figs. 8A, 8B represents a gating complex of the type described in connection with Figs. 3A, 3B, and 5. It will be understood that the number of orand and-gates employed in each box is consonant with the number of inputs and logical products to be obtained in each operation as determined by the logical equation described.

It will be noted from Figs. 8A, 8B that in addition to the four registers of gating stages required for the augend, addend, carry and sum digits, only twenty-six gating stages, equivalent to one-half of a register, are required to generate the auxiliary carry functions.

Table I (Fig. 11A) is an itemized lsummary of the rst and second level auxiliary carry functions employed in accordance with the present invention in connection with a 53-digit parallel binary adder. The expressions for each auxiliary function can readily be correlated with the previously developed equations by substituting the equivalent value for the term Fx, Dk, and Rk, the latter expressions being employed to simplify the notation.

Table II contained in Figs. 11B and 11C further details the relation between the carry for each order and the auxiliary carry functions, the same equivalent terms (Fk, Dk, and RR) being employed.

With the use of these tables in accordance with the principles demonstrated in the preceding description, specific gate-.complex mechanisms for implementing lthe logical solution of the carry digits and the first and second level auxiliary carry functions pertinent to each order will be readily apparent.

L,TI-hesumming units-403 for determining thesum digits 16 S1 etc. shown in connection with Figs. 4, 6, 7, 8A and 8B are conventional adder mechanisms comprising a gate complex for performing the logical operation consequent to arithmetically summing operands of a particular order together with the carry or auxiliary carry function appropriate to-the selected order.

Two exemplary gating complex arrangements for obtaining the sum digit S4 and S40 are shown in Figs. 9 and l0. It will be noted from Figs. 4, 6, 7, or 8A-8B that the summing unit 4034 for determining S4 is energized by the augend A4. addend B4 and the output C0 of carry mechanism 4023, where C3 is a function of C0 as will be recalled from Equation 5b:

the sum digit for any order, can be written for the fourth order as follows:

The adder mechanism shown in Fig. 9 provides for the implementation of the operations indicated by Eq. 1a by means of conventional gating techniques. Since andgates 901 in Fig. 9 are energized by a timing pulse corresponding to clock-phase four (CP4) whereas the operands A4, B4 are made available during the first clock phase as is apparent from either Figs. 4, 6, 7, or 8, delay elements 902 are inserted as indicated. Each summing unit 403 employs the same principles of construction and operation. The number of gates are consonant with the inputs for each order and the delay elements provide delays commensurate with the difference in time between the application of each input operand and the time during which a carry digit is formulated.

Fig. l0 shows the construction of summing unit 40340 for obtaining the solution of sum digit S40 which is expressed as The construction and mode of operation of each summing unit S1-S53 is considered to be appropriately described from the description of the above-illustrated embodiments.

It will be apparent that the principles underlying the present invention are not limited to the particular 53- digit exemplary embodiment indicated but can be extended to provide an adder mechanism for an even larger number of digits. As is also evident from the description that the design of an adder in which the number of carries needed simultaneously is less than the usable maximum, a considerable reduction in the number of gating stages needed to generate the circuitry carry functions can be achieved.

It will be apparent that the embodiments shown are only exemplary and that various modifications can be made in construction and arrangement within the scope of invention as defined in the appended claims.

What is claimed is:

1. In a digital computer having a cycle of operation defined by a plurality of sequentially occurring timing pulses, a high-speed adder for summing pulses corresponding to the augends and addends of plural-order binarynumbers under control of said timing pulses, comprising means for registering the pulses representing the respective order operand digits of said numbers including a previous carry digit C0 where'C0 is equivalent to a carry digit which, when added to the least-signicant operand digits forms the least significant sum digit, means energized by one timing plllse and responsive to a first group of lower-order operand and said carry digit pulse registering means forlsimultaneously determining each `of the respecltive carry digit pulses for said iirst group of lower-order operand pulsesv as a function of only the operand digit pulses in said lower-order group and of C and independently of the intermediate order carry digits in said group,` means 'energized in sequence by subsequent ones of said timing pulses and responsive to respective adjacent higher-order groups of said operand registering means and the highest order carryl digit pulse determining means in the respective preceding group for determining each of the carry digit pulses for said higher groups of orders as a function of only the operand digit pulses in each respective higher order group and the highest order carry digit deter-Y mined in the said respective preceding group and independent of the intermediate order carries in said respective higherorder group, and means jointly responsive to said operand registers and carry'` digit determining means for summing the operand and carry digit pulses in each of said orders.

2. The invention of claim l in Awhich said means for determining the highest order carry digit pulse in said rst group of operands comprises an orand-or-gate complex for logically combining the augend and addend pulses of each order and the carry pulse digit Cu according to the' equation:

'i' (Ari-304333 (Brel-C0' f where C4 represents the carry function for the most significant order operand digit in said rst group of operands, and A1 toA4, B1 to B4 represent the respective augends and addends of the various orders in said rst group of operands.

3. The invention of claim l in which said means for determining the highest order carry digit pulse in a second of said groups of operands comprises an orand-or-gate complex for logically combining the augend and addend pulse of each order in said group and the highest order carry digit pulse in said first group according to the equation:

iti-4 Where Ck represents the carry function for the most significant order operand digit in said second group of operands, C164 represents the highest order carry pulse in said first group of carry digit pulses and Ak 3 to Ak, Bk 3 to Bk represent the operand pulses of the intermediate orders in said second group.

4. The invention of claim 1 including means energized by said one timing pulse for determining a first level of higher-order auxiliary carry function pulses as functions of the operand pulses corresponding to the digital orders included between the digital order corresponding to said auxiliary carry function pulses and the digital order corresponding to the highest previous carry digit pulse determined during said first timing pulse and in which said means for determining some of the carry digit pulses for a next higher group of orders during a subsequent timing pulse is responsive to said first-level auxiliary carry function determining means.

5. The invention of claim 4 including means energized by said one timing pulse for determining additional irstlevel higher-order auxiliary carry function pulses as a function of and responsive to the operand pulses corresponding to the digital order pulses included between the digital order corresponding to said additional auxiliary Eso carry functions and -the next "precedrg',` auxiliary .carry functions and additional means energized duri-rigl said subsequent timing pulses and responsive to said additional rst-level high-order auxiliary carry function determining means for generating severalksecond-levelauxiliary carry function pulses as a function of `said additional first-level auxiliary carry functions. V 6. The invention of claim 5 comprising first-level 'aux iliary carry functions of the form Xk, Yk where- Xk=Ak+Bk)(Ak+Ak-1)(Ak Q y +Bk-1) (Bk+Ak-i)(Bk+Bk-1) -l-(Ak'l-Bk) (Ak-i-l-Bk-Dk-zBk-z p v -l- (Aki-Bk) (k-i-l-Bk-i) (Ak-'zfl-Bk-alk/-sBk-s i -l-Ak-l-Bk) (k-i-i-Ble-i) (Ak-2 d +Bk-2) (Ak-sl-BLSk-LBIQA an t v 4 where Ak 4 to Ak and Bk 4 to Bk representthe. operand pulses corresponding to said defined digital orders and in which said auxiliary carry function determining means comprises an or-and-or-gate complex responsive to said one timing pulse and said operand storing` means .for logically combining said respective enumerated functions Xk and Yk.

7. The invention of claim 5 comprising first-level aux- I iliary `carry functions of the form Xk, Yktwhere,

and Xk and Yk correspond to said rst-level auxiliary carry functions of respective order and in which said delined second-level auxiliary carry functions generating means comprises an orand-orgate complex responsive to said subsequent timing pulses and said first-level auxiliary carry function generating means for logically combining said respective enumerated functions Xk and Yk. 9. The invention of claim 6 comprising second-level auxiliary carry function of the form Zk, Wk where and *irYkYk-sYk-sXk-is and where where Xk and Yk correspond to said first-level auxiliary carry functions and in which said defined second-level auxiliary carry function generating means comprises an orand-or-gate complex responsive to said subsequent timing pulses and said first-level auxiliary carry function generating means for logically combining said respective enumerated functions Xk and Yk. 

